Some embodiments described herein relate generally to using an application distribution module to provision an application token in an installation file associated with a client application. This allows the client application to be downloaded and installed on a communication device without the need of further authorization requests to other devices. Some of the embodiments described herein also relate to the methods and apparatus used for requesting the application tokens and provisioning the application tokens in the installation file associated with each client application.
Open Authorization (OAuth) is an open standard protocol for authorization, and allows a user (such as an enterprise employee) to grant a third-party application access to information associated with that user stored at a given location (e.g., on given website), without sharing that user's account credentials (e.g., password) or the full extent of that user's data. Some known systems use OAuth tokens to authenticate applications for users of a variety of devices (e.g., a laptop computer, a personal digital assistant (PDA), a standard mobile telephone, a tablet personal computer (PC), etc.). In such known systems, however, each application requests tokens individually from an appropriate OAuth authorization server. This typically involves significant use of available bandwidth and processor time, and generally leads to a usability burden for the user. Additionally, the enterprise for which the employee works is not directly involved in the issuance of application tokens to the applications and hence is removed from a desired level of policy control over the users' access to applications.
Accordingly, a need exists for methods and apparatus for authenticating multiple applications installed on a communication device without each application having to request tokens individually from an appropriate OAuth authorization server. Additionally or alternatively, a need exists for methods and apparatus to increase the involvement of the enterprise in having control of over the user's access to applications.